from public.action import *
from public.tools import *
from public.testData import *


# 用例标题
testCase = "dbshopST004_取消支付"

# 操作步骤
# 打开浏览器
firefox=getDriver()

openBrowser(firefox,url)
# 登录
login(firefox,name,password)
# 搜索商品
firefox.find_element_by_xpath("//input[@name='keywords']").send_keys("小米")
firefox.find_element_by_xpath("//input[@class='search-btn iconfont']").click()
# 进入商品详情页面
firefox.find_element_by_xpath("//img[@alt='小米Mix3 全网通版 8GB+128GB 黑色 磁动力滑盖全面屏']").click()
firefox.switch_to.window(firefox.window_handles[-1])
# 加入购物车
firefox.find_element_by_id("add_cart_submit").click()
time.sleep(2)
#5.结算
firefox.find_element_by_link_text("去购物车结算").click()
firefox.find_element_by_link_text("去结算").click()
firefox.find_element_by_xpath("//input[@class='btn btn-large btn-primary']").click()
firefox.find_element_by_xpath("//input[@value='yezf']").click()
firefox.find_element_by_xpath("//input[@value='确认订单']").click()
#使用变量orderNO存储订单编号
orderNO=firefox.find_element_by_xpath('(//font[@color="color:#ED145B"])[2]').text
#获取项目的绝对路径
rootPath=get_pro_rootpath()
# 将订单编号写入到文件中,方面后面的脚本去使用这个订单编号
#这就是跨脚本传递数据
writeFile(rootPath+'\public\order004.txt',orderNO)
# #保存订单号
# shopid=firefox.find_element_by_xpath("(//font[@color='color:#ED145B'])[2]").text
# print(shopid)
firefox.find_element_by_xpath("//input[@value='查看订单详情']").click()
#取消订单
firefox.find_element_by_name("search_order_sn").send_keys(orderNO)
firefox.find_element_by_xpath("(//button[@class='btn btn-small btn-primary'])[1]").click()
firefox.find_element_by_xpath("(//button)[4]").click()
firefox.switch_to.alert.accept()

#点击无效订单
firefox.find_element_by_partial_link_text("无效订单")

# 断言
try:
    firefox.find_element_by_link_text(orderNO).is_displayed()  #is_displayed()函数判断元素是否显示
    writeLog("%s 测试通过"%testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)
firefox.quit()
print("取消成功")


